package com.jerei.store.mapper;

import com.jerei.store.entity.TableCart;
import com.jerei.store.entity.TableCartProduct;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

@Repository
public interface TableCartMapper {

    /**
     * 加入购物车
     * @param tableCart
     * @return
     */
    Integer insertTC(TableCart tableCart);


    /**
     * 查询是否有相同的商品
     * @param pid
     * @return
     */
    TableCart selectByPid(@Param("pid") Integer pid,@Param("uid") Integer uid);

    /**
     * 查询购物车里的唯一商品
     * @param cid
     * @return
     */
    TableCart selectByCid(Integer cid);



    /**
     * 数量加价
     * @param num
     * @return
     */
    Integer updateByPid(@Param("num") Integer num,
                        @Param("pid") Integer pid,
                        @Param("uid") Integer uid,
                        @Param("username") String username,
                        @Param("date") Date date);



    /**
     * 购物车展示
     * @param uid
     * @return
     */
    List<TableCartProduct> selectByUid(Integer uid);


    /**
     * 删除操作
     * @param arr
     * @return
     */
    Integer delByCid(Integer[] arr);


    /**
     * 根据传回来的 “+”或者“-”判断 进行增加或者减少数量
     * @param cart
     * @return
     */
    Integer updateNumByCid(TableCart cart);


    /**
     * 把获取到的cid封装到数组查询
     * @param arr
     * @return  返回订单中勾选的商品
     */
    List<TableCartProduct> findAllByCid(Integer[] arr);



}
